Parallel Execution of Loops with Conditional Statements
نویسندگان
چکیده
This paper describes an approach to the evaluation of bounds of the execution time and number of processors needed to execute DO-like loops on MIMD systems. In the scope of this paper, we only consider single-nested loops. The evaluation of these bounds is done from information about dependences known at compile time. Due to the lack of information at compile time about the dynamic execution of the loop when conditional statements appear, an upper bound of the number of processors is obtained. In addition, a measure of the worst efficiency in terms of processor utilization is obtained by predicting the sequence of execution branches with the lowest parallelism. We also present some simulation results that show how the efficiency varies with the probability of the execution branches. Parallel code generation for shared-memory multiprocessors is outlined.
منابع مشابه
On Predicated Execution
Predicated execution as required in Modulo Scheduling technique for parallelizing innermost loops with conditional statements is examined. We obtain an improved semantics for predicate operations together with an optimal and efficient algorithm for their use.
متن کاملDetecting Program Components With Equivalent Behaviors
The execution behavior of a program component is defined as the sequence of values produced at the component during program execution. This paper presents an efficient algorithm for detecting program components − in one or more programs − that exhibit identical execution behaviors. The algorithm operates on a new graph representation for programs that combines features of static-single-assignme...
متن کاملA Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Loops are the main source of parallelism in scientific programs. Hence, several techniques were developed to detect parallelism in these loops and transform them into parallel forms. In this dissertation, compile time transformations and efficient parallel execution of loops with various type of dependencies are investigated. First, Doacross loops with uniform dependencies are considered for ex...
متن کاملSoftware Pipeliner: Parallelization of Loops
Software pipelining, as an important parallel technique for loop structure, exploits the parallelism present among the iterations of a loop by overlapping the execution of successive iterations. This paper presents a practical and usable algorithm, Overlapping Modulo Scheduling(OMS), which is capable of modulo scheduling loops subjected to recurrence dependences and resource constraints for rea...
متن کاملThe Techniques for Software Pipelining Loops with Conditional Constructs
Software pipelining, as an important parallel technique for loop structure, exploits the parallelism present among the iterations of a loop by overlapping the execution of successive iterations. The diiculty encountered when software pipelin-ing loops with conditional branches is that arbitrary control ow complicates the construction of an overlapping schedule since there are multiple possible ...
متن کامل